1. Technical Field
The present invention relates to a technique for reducing power consumption of a processor in general, and more particularly to a technique for reducing power consumption of a processor while suppressing a degradation of the performance thereof.
2. Description of Related Art
A central processing unit (CPU), which is an essential processor in a computer, and a graphics processing unit (GPU), which performs graphical processing, consume more power than other devices. The power consumed by a CPU increases in approximately proportional to the clock frequency at which the CPU operates. A laptop personal computer (laptop PC) uses an AC/DC adapter or a battery pack as a power source for normal operation. Rated output power has been set for each of the battery pack and the AC/DC adapter.
Conventionally, some form of control is utilized to reduce the clock frequency of a CPU or GPU when the power consumption of a laptop PC has exceeded a certain value. For example, a throttle control can be used to reduce the clock frequency of a CPU when the power consumption has exceeded a threshold value. Alternatively, the clock rate of a CPU can be lowered when the power consumption has exceeded a predetermined value. Another method for suppressing a degradation of the performance of a processor is to measure the consumed power and temperature of the processor and, when they have exceeded threshold values, the maximum operating frequency is reduced in a stepwise manner.
Although the power consumption of a CPU decreases as the clock frequency is reduced, the performance also decreases. In the case of controlling the clock frequency of a CPU in order to keep the discharge current of a battery below an allowable value, it is desirable to restrict the reduction of the clock frequency to the least possible extent while keeping the discharge current below the allowable value. With the conventional clock frequency control methods, the clock frequency was reduced when the power consumption exceeded a threshold value. The control system of this type is a closed loop but belongs to the category of sequence control. The controlled variable is binary with respect to a threshold value, and the operation to be controlled is binary as well, which would lead to an excessive degradation of the performance.
Consequently, it would be desirable to provide an improved method for controlling the clock frequency while suppressing the performance degradation.